package com.jackstraw.jack_base.rules.entity.po;

import com.jackstraw.jack_base.datasource.mybatis.base.entity.po.PoExample;
import com.jackstraw.jack_base.util.JsonUtil;
import com.jackstraw.jack_base.util.ObjectUtil;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Date;


/**
 * 场景信息执行器表	实体层PoExample
 *
 * @author zhaozhao 945514650@qq.com
 * @since version:1.0 generatorDate:2022-12-04 22:50:47
 */
public class SceneActuatorPoExample extends PoExample<SceneActuatorPoExample.Criteria, SceneActuatorPo> {

	public SceneActuatorPoExample() {
		super();
	}

	@Override
	public void addKey(Map<String, Object> params) {
		SceneActuatorPo po = JsonUtil.mapToBean(params, this.poClass);
		if (ObjectUtil.ObjectUtilByLang3.isNotEmpty(po)) {
			if (ObjectUtil.ObjectUtilByLang3.isNotEmpty(po.getSceneActuatorId())) {
				this.createCriteria().andSceneActuatorIdEqualTo(po.getSceneActuatorId());
			}
 		}
	}

	@Override
	protected Criteria createCriteriaInternal() {
		return new Criteria();
	}


	protected abstract static class GeneratedCriteria {
		protected List<Criterion> criteria;

		protected GeneratedCriteria() {
			super();
			criteria = new ArrayList<Criterion>();
		}

		public boolean isValid() {
			return criteria.size() > 0;
		}

		public List<Criterion> getAllCriteria() {
			return criteria;
		}

		public List<Criterion> getCriteria() {
			return criteria;
		}

		protected void addCriterion(String condition) {
			if (condition == null) {
				throw new RuntimeException("Value for condition cannot be null");
			}
			criteria.add(new Criterion(condition));
		}

		protected void addCriterion(String condition, Object value, String property) {
			if (value == null) {
				throw new RuntimeException("Value for " + property + " cannot be null");
			}
			criteria.add(new Criterion(condition, value));
		}

		protected void addCriterion(String condition, Object value1, Object value2, String property) {
			if (value1 == null || value2 == null) {
				throw new RuntimeException("Between values for " + property + " cannot be null");
			}
			criteria.add(new Criterion(condition, value1, value2));
		}

		public Criteria andSceneActuatorIdIsNull() {
			addCriterion("scene_actuator_id is null");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorIdIsNotNull() {
			addCriterion("scene_actuator_id is not null");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorIdEqualTo(Long value) {
			addCriterion("scene_actuator_id =", value, "sceneActuatorId");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorIdNotEqualTo(Long value) {
			addCriterion("scene_actuator_id <>", value, "sceneActuatorId");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorIdGreaterThan(Long value) {
			addCriterion("scene_actuator_id >", value, "sceneActuatorId");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorIdGreaterThanOrEqualTo(Long value) {
			addCriterion("scene_actuator_id >=", value, "sceneActuatorId");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorIdLessThan(Long value) {
			addCriterion("scene_actuator_id <", value, "sceneActuatorId");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorIdLessThanOrEqualTo(Long value) {
			addCriterion("scene_actuator_id <=", value, "sceneActuatorId");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorIdIn(List<Long> values) {
			addCriterion("scene_actuator_id in", values, "sceneActuatorId");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorIdNotIn(List<Long> values) {
			addCriterion("scene_actuator_id not in", values, "sceneActuatorId");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorIdBetween(Long value1, Long value2) {
			addCriterion("scene_actuator_id between", value1, value2, "sceneActuatorId");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorIdNotBetween(Long value1, Long value2) {
			addCriterion("scene_actuator_id not between", value1, value2, "sceneActuatorId");
			return (Criteria) this;
		}


		public Criteria andSceneNameIsNull() {
			addCriterion("scene_name is null");
			return (Criteria) this;
		}

		public Criteria andSceneNameIsNotNull() {
			addCriterion("scene_name is not null");
			return (Criteria) this;
		}

		public Criteria andSceneNameEqualTo(String value) {
			addCriterion("scene_name =", value, "sceneName");
			return (Criteria) this;
		}

		public Criteria andSceneNameNotEqualTo(String value) {
			addCriterion("scene_name <>", value, "sceneName");
			return (Criteria) this;
		}

		public Criteria andSceneNameGreaterThan(String value) {
			addCriterion("scene_name >", value, "sceneName");
			return (Criteria) this;
		}

		public Criteria andSceneNameGreaterThanOrEqualTo(String value) {
			addCriterion("scene_name >=", value, "sceneName");
			return (Criteria) this;
		}

		public Criteria andSceneNameLessThan(String value) {
			addCriterion("scene_name <", value, "sceneName");
			return (Criteria) this;
		}

		public Criteria andSceneNameLessThanOrEqualTo(String value) {
			addCriterion("scene_name <=", value, "sceneName");
			return (Criteria) this;
		}

		public Criteria andSceneNameIn(List<String> values) {
			addCriterion("scene_name in", values, "sceneName");
			return (Criteria) this;
		}

		public Criteria andSceneNameNotIn(List<String> values) {
			addCriterion("scene_name not in", values, "sceneName");
			return (Criteria) this;
		}

		public Criteria andSceneNameBetween(String value1, String value2) {
			addCriterion("scene_name between", value1, value2, "sceneName");
			return (Criteria) this;
		}

		public Criteria andSceneNameNotBetween(String value1, String value2) {
			addCriterion("scene_name not between", value1, value2, "sceneName");
			return (Criteria) this;
		}

		public Criteria andSceneNameLike(String value) {
			addCriterion("scene_name like", value, "sceneName");
			return (Criteria) this;
		}

		public Criteria andSceneNameNotLike(String value) {
			addCriterion("scene_name not like", value, "sceneName");
			return (Criteria) this;
		}

		public Criteria andSceneNameLikeInsensitive(String value) {
			addCriterion("upper(scene_name) like", value.toUpperCase(), "sceneName");
			return (Criteria) this;
		}


		public Criteria andSceneDescIsNull() {
			addCriterion("scene_desc is null");
			return (Criteria) this;
		}

		public Criteria andSceneDescIsNotNull() {
			addCriterion("scene_desc is not null");
			return (Criteria) this;
		}

		public Criteria andSceneDescEqualTo(String value) {
			addCriterion("scene_desc =", value, "sceneDesc");
			return (Criteria) this;
		}

		public Criteria andSceneDescNotEqualTo(String value) {
			addCriterion("scene_desc <>", value, "sceneDesc");
			return (Criteria) this;
		}

		public Criteria andSceneDescGreaterThan(String value) {
			addCriterion("scene_desc >", value, "sceneDesc");
			return (Criteria) this;
		}

		public Criteria andSceneDescGreaterThanOrEqualTo(String value) {
			addCriterion("scene_desc >=", value, "sceneDesc");
			return (Criteria) this;
		}

		public Criteria andSceneDescLessThan(String value) {
			addCriterion("scene_desc <", value, "sceneDesc");
			return (Criteria) this;
		}

		public Criteria andSceneDescLessThanOrEqualTo(String value) {
			addCriterion("scene_desc <=", value, "sceneDesc");
			return (Criteria) this;
		}

		public Criteria andSceneDescIn(List<String> values) {
			addCriterion("scene_desc in", values, "sceneDesc");
			return (Criteria) this;
		}

		public Criteria andSceneDescNotIn(List<String> values) {
			addCriterion("scene_desc not in", values, "sceneDesc");
			return (Criteria) this;
		}

		public Criteria andSceneDescBetween(String value1, String value2) {
			addCriterion("scene_desc between", value1, value2, "sceneDesc");
			return (Criteria) this;
		}

		public Criteria andSceneDescNotBetween(String value1, String value2) {
			addCriterion("scene_desc not between", value1, value2, "sceneDesc");
			return (Criteria) this;
		}

		public Criteria andSceneDescLike(String value) {
			addCriterion("scene_desc like", value, "sceneDesc");
			return (Criteria) this;
		}

		public Criteria andSceneDescNotLike(String value) {
			addCriterion("scene_desc not like", value, "sceneDesc");
			return (Criteria) this;
		}

		public Criteria andSceneDescLikeInsensitive(String value) {
			addCriterion("upper(scene_desc) like", value.toUpperCase(), "sceneDesc");
			return (Criteria) this;
		}


		public Criteria andVersionIsNull() {
			addCriterion("version is null");
			return (Criteria) this;
		}

		public Criteria andVersionIsNotNull() {
			addCriterion("version is not null");
			return (Criteria) this;
		}

		public Criteria andVersionEqualTo(Integer value) {
			addCriterion("version =", value, "version");
			return (Criteria) this;
		}

		public Criteria andVersionNotEqualTo(Integer value) {
			addCriterion("version <>", value, "version");
			return (Criteria) this;
		}

		public Criteria andVersionGreaterThan(Integer value) {
			addCriterion("version >", value, "version");
			return (Criteria) this;
		}

		public Criteria andVersionGreaterThanOrEqualTo(Integer value) {
			addCriterion("version >=", value, "version");
			return (Criteria) this;
		}

		public Criteria andVersionLessThan(Integer value) {
			addCriterion("version <", value, "version");
			return (Criteria) this;
		}

		public Criteria andVersionLessThanOrEqualTo(Integer value) {
			addCriterion("version <=", value, "version");
			return (Criteria) this;
		}

		public Criteria andVersionIn(List<Integer> values) {
			addCriterion("version in", values, "version");
			return (Criteria) this;
		}

		public Criteria andVersionNotIn(List<Integer> values) {
			addCriterion("version not in", values, "version");
			return (Criteria) this;
		}

		public Criteria andVersionBetween(Integer value1, Integer value2) {
			addCriterion("version between", value1, value2, "version");
			return (Criteria) this;
		}

		public Criteria andVersionNotBetween(Integer value1, Integer value2) {
			addCriterion("version not between", value1, value2, "version");
			return (Criteria) this;
		}


		public Criteria andIsValidIsNull() {
			addCriterion("is_valid is null");
			return (Criteria) this;
		}

		public Criteria andIsValidIsNotNull() {
			addCriterion("is_valid is not null");
			return (Criteria) this;
		}

		public Criteria andIsValidEqualTo(Integer value) {
			addCriterion("is_valid =", value, "isValid");
			return (Criteria) this;
		}

		public Criteria andIsValidNotEqualTo(Integer value) {
			addCriterion("is_valid <>", value, "isValid");
			return (Criteria) this;
		}

		public Criteria andIsValidGreaterThan(Integer value) {
			addCriterion("is_valid >", value, "isValid");
			return (Criteria) this;
		}

		public Criteria andIsValidGreaterThanOrEqualTo(Integer value) {
			addCriterion("is_valid >=", value, "isValid");
			return (Criteria) this;
		}

		public Criteria andIsValidLessThan(Integer value) {
			addCriterion("is_valid <", value, "isValid");
			return (Criteria) this;
		}

		public Criteria andIsValidLessThanOrEqualTo(Integer value) {
			addCriterion("is_valid <=", value, "isValid");
			return (Criteria) this;
		}

		public Criteria andIsValidIn(List<Integer> values) {
			addCriterion("is_valid in", values, "isValid");
			return (Criteria) this;
		}

		public Criteria andIsValidNotIn(List<Integer> values) {
			addCriterion("is_valid not in", values, "isValid");
			return (Criteria) this;
		}

		public Criteria andIsValidBetween(Integer value1, Integer value2) {
			addCriterion("is_valid between", value1, value2, "isValid");
			return (Criteria) this;
		}

		public Criteria andIsValidNotBetween(Integer value1, Integer value2) {
			addCriterion("is_valid not between", value1, value2, "isValid");
			return (Criteria) this;
		}


		public Criteria andSceneActuatorCodeIsNull() {
			addCriterion("scene_actuator_code is null");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorCodeIsNotNull() {
			addCriterion("scene_actuator_code is not null");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorCodeEqualTo(String value) {
			addCriterion("scene_actuator_code =", value, "sceneActuatorCode");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorCodeNotEqualTo(String value) {
			addCriterion("scene_actuator_code <>", value, "sceneActuatorCode");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorCodeGreaterThan(String value) {
			addCriterion("scene_actuator_code >", value, "sceneActuatorCode");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorCodeGreaterThanOrEqualTo(String value) {
			addCriterion("scene_actuator_code >=", value, "sceneActuatorCode");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorCodeLessThan(String value) {
			addCriterion("scene_actuator_code <", value, "sceneActuatorCode");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorCodeLessThanOrEqualTo(String value) {
			addCriterion("scene_actuator_code <=", value, "sceneActuatorCode");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorCodeIn(List<String> values) {
			addCriterion("scene_actuator_code in", values, "sceneActuatorCode");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorCodeNotIn(List<String> values) {
			addCriterion("scene_actuator_code not in", values, "sceneActuatorCode");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorCodeBetween(String value1, String value2) {
			addCriterion("scene_actuator_code between", value1, value2, "sceneActuatorCode");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorCodeNotBetween(String value1, String value2) {
			addCriterion("scene_actuator_code not between", value1, value2, "sceneActuatorCode");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorCodeLike(String value) {
			addCriterion("scene_actuator_code like", value, "sceneActuatorCode");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorCodeNotLike(String value) {
			addCriterion("scene_actuator_code not like", value, "sceneActuatorCode");
			return (Criteria) this;
		}

		public Criteria andSceneActuatorCodeLikeInsensitive(String value) {
			addCriterion("upper(scene_actuator_code) like", value.toUpperCase(), "sceneActuatorCode");
			return (Criteria) this;
		}


		public Criteria andFullClassNameIsNull() {
			addCriterion("full_class_name is null");
			return (Criteria) this;
		}

		public Criteria andFullClassNameIsNotNull() {
			addCriterion("full_class_name is not null");
			return (Criteria) this;
		}

		public Criteria andFullClassNameEqualTo(String value) {
			addCriterion("full_class_name =", value, "fullClassName");
			return (Criteria) this;
		}

		public Criteria andFullClassNameNotEqualTo(String value) {
			addCriterion("full_class_name <>", value, "fullClassName");
			return (Criteria) this;
		}

		public Criteria andFullClassNameGreaterThan(String value) {
			addCriterion("full_class_name >", value, "fullClassName");
			return (Criteria) this;
		}

		public Criteria andFullClassNameGreaterThanOrEqualTo(String value) {
			addCriterion("full_class_name >=", value, "fullClassName");
			return (Criteria) this;
		}

		public Criteria andFullClassNameLessThan(String value) {
			addCriterion("full_class_name <", value, "fullClassName");
			return (Criteria) this;
		}

		public Criteria andFullClassNameLessThanOrEqualTo(String value) {
			addCriterion("full_class_name <=", value, "fullClassName");
			return (Criteria) this;
		}

		public Criteria andFullClassNameIn(List<String> values) {
			addCriterion("full_class_name in", values, "fullClassName");
			return (Criteria) this;
		}

		public Criteria andFullClassNameNotIn(List<String> values) {
			addCriterion("full_class_name not in", values, "fullClassName");
			return (Criteria) this;
		}

		public Criteria andFullClassNameBetween(String value1, String value2) {
			addCriterion("full_class_name between", value1, value2, "fullClassName");
			return (Criteria) this;
		}

		public Criteria andFullClassNameNotBetween(String value1, String value2) {
			addCriterion("full_class_name not between", value1, value2, "fullClassName");
			return (Criteria) this;
		}

		public Criteria andFullClassNameLike(String value) {
			addCriterion("full_class_name like", value, "fullClassName");
			return (Criteria) this;
		}

		public Criteria andFullClassNameNotLike(String value) {
			addCriterion("full_class_name not like", value, "fullClassName");
			return (Criteria) this;
		}

		public Criteria andFullClassNameLikeInsensitive(String value) {
			addCriterion("upper(full_class_name) like", value.toUpperCase(), "fullClassName");
			return (Criteria) this;
		}


		public Criteria andCreateTimeIsNull() {
			addCriterion("create_time is null");
			return (Criteria) this;
		}

		public Criteria andCreateTimeIsNotNull() {
			addCriterion("create_time is not null");
			return (Criteria) this;
		}

		public Criteria andCreateTimeEqualTo(Date value) {
			addCriterion("create_time =", value, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeNotEqualTo(Date value) {
			addCriterion("create_time <>", value, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeGreaterThan(Date value) {
			addCriterion("create_time >", value, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
			addCriterion("create_time >=", value, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeLessThan(Date value) {
			addCriterion("create_time <", value, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
			addCriterion("create_time <=", value, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeIn(List<Date> values) {
			addCriterion("create_time in", values, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeNotIn(List<Date> values) {
			addCriterion("create_time not in", values, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeBetween(Date value1, Date value2) {
			addCriterion("create_time between", value1, value2, "createTime");
			return (Criteria) this;
		}

		public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
			addCriterion("create_time not between", value1, value2, "createTime");
			return (Criteria) this;
		}


		public Criteria andUpdateTimeIsNull() {
			addCriterion("update_time is null");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeIsNotNull() {
			addCriterion("update_time is not null");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeEqualTo(Date value) {
			addCriterion("update_time =", value, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeNotEqualTo(Date value) {
			addCriterion("update_time <>", value, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeGreaterThan(Date value) {
			addCriterion("update_time >", value, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
			addCriterion("update_time >=", value, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeLessThan(Date value) {
			addCriterion("update_time <", value, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
			addCriterion("update_time <=", value, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeIn(List<Date> values) {
			addCriterion("update_time in", values, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeNotIn(List<Date> values) {
			addCriterion("update_time not in", values, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeBetween(Date value1, Date value2) {
			addCriterion("update_time between", value1, value2, "updateTime");
			return (Criteria) this;
		}

		public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
			addCriterion("update_time not between", value1, value2, "updateTime");
			return (Criteria) this;
		}

	}

	public static class Criteria extends GeneratedCriteria {

		protected Criteria() {
			super();
		}
	}
}